namespace Matrix.Configuration.Options
{
    /// <summary>
    /// 配置服务选项
    /// </summary>
    public class ConfigurationOptions
    {
        /// <summary>
        /// 缓存过期时间（分钟）
        /// </summary>
        public int CacheExpirationMinutes { get; set; } = 30;

        /// <summary>
        /// 启用配置变更事件
        /// </summary>
        public bool EnableConfigurationEvents { get; set; } = true;

        /// <summary>
        /// 默认命名空间
        /// </summary>
        public string DefaultNamespace { get; set; } = "default";

        /// <summary>
        /// 配置值最大长度
        /// </summary>
        public int MaxValueLength { get; set; } = 4000;

        /// <summary>
        /// 启用配置版本控制
        /// </summary>
        public bool EnableVersioning { get; set; } = true;

        /// <summary>
        /// 启用配置加密
        /// </summary>
        public bool EnableEncryption { get; set; }

        /// <summary>
        /// 配置描述最大长度
        /// </summary>
        public int MaxDescriptionLength { get; set; } = 500;
    }
}